Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
E' sbagliato...
s1 è già di per se un puntatore a stringa (char*)
quindi fai così:
Codice sorgente - presumibilmente Plain Text
scanf("%s",s1);
Inoltre fai un uso sbagliato di strcpy... non puoi passare come argomenti delle variabili di tipo char, devi passare puntatori a stringhe, quindi char*
Premetto che ciò provato ma non sono riuscito ad implementare un algoritmo di reverse(Grave:pat però ho fatto una piccola ricerca e ho trovato una funzione del c che fa questa cosa strrev().
la funzione strrev inverte l'ordine dei caratteri di una stringa, il suo prototipo è il seguente:
Codice sorgente - presumibilmente C/C++
char *strrev(char *str);
Il carattere terminatore resta in fondo alla stringa. La funzione restituisce un puntatore a str
esempio:
anche se ammetto che non piace neanche a me questa soluzione.
Sarebbe meglio che fosse l'utilizzatore ad istanziare la stringa di ritorno, in questo modo.
Codice sorgente - presumibilmente C++
void reverse(constchar*strToRev, char*strReverse, int l)
{
int l2 =0;
while(l2 < l)
{
strReverse[l2]= strToRev[(l - l2)- 1];
l2++;
}
}
in questo modo è l'utilizzatore a gestire totalmente la vita della stringa strReverse, sia in fase si creazione sia in fase di distruzione.
PS: non li ho provati ma credo non ci siano errori strani...